<?php
namespace app\common\utils;

use app\common\utils\Uuid;
/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

class DownLoad{
    public static function downloadDoc($url,$id){
        $downLoad=new DownLoad();
        $fileName=  Uuid::UUID($id).'.doc';
        $downLoad->httpcopy("$url","D:\\temp\\watch_directory\\$fileName");
        return $fileName;
        
    }
    public static function downloadXls($url,$id){
        $downLoad=new DownLoad();
        $fileName=  Uuid::UUID($id).'.xls';
        $downLoad->httpcopy("$url","D:\\temp\\watch_directory\\$fileName");
        return $fileName;
        
    }
    public static function downloadPpt($url,$fileName){
        $downLoad=new DownLoad();
        $fileName=  Uuid::UUID($id).'.ppt';
        $downLoad->httpcopy("$url","D:\\temp\\watch_directory\\$fileName");
        return $fileName;
        
    }
    
    
    
    

    private  function httpcopy($url, $file="", $timeout=60) {
    $file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file;
    $dir = pathinfo($file,PATHINFO_DIRNAME);
    !is_dir($dir) && @mkdir($dir,0755,true);
    $url = str_replace(" ","%20",$url);

    if(function_exists('curl_init')) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        $temp = curl_exec($ch);
        if(@file_put_contents($file, $temp) && !curl_error($ch)) {
            return $file;
        } else {
            return false;
        }
    } else {
        $opts = array(
            "http"=>array(
            "method"=>"GET",
            "header"=>"",
            "timeout"=>$timeout)
        );
        $context = stream_context_create($opts);
        if(@copy($url, $file, $context)) {
            //$http_response_header
            return $file;
        } else {
            return false;
        }
    }
}
}

